问题
阿里云测试环境, 相同域网下 A, B 两台机器, 开通全部端口权限, 主机网段 192.168.10.0/24.
A 机器使用 docker 搭建服务, 于端口 http 3000 端口.
使用 A 和 B 机器直接访问 http://A:3000 均可以正常返回数据.
使用本地 pc 机访问提示超时, 但是 ping A 和访问 A 机器非 Docker 启动的服务都正常.
1 | // A 机器 |
我们当前的情况
我们链接服务器是使用 vpn 的, 无法在没有 vpn 前提下直接链接服务器地址.
我们 vpn 机器所在的网段, 恰好和 docker0 所在的网段相同. 造成使用 vpn 访问 A 机器时没有问题, 但是访问 A 机器中 docker 服务无法成功.
解决方案
修改 docker0 所在网段
vim /etc/docker/daemon.json
1 | { "bip": "172.18.0.0/24" } |
修改 bridge 所在网段
vim docker-compose.yml
1 | networks: |
重启使服务生效
关闭服务
关闭服务 docker-compose down
关闭 docker 后台进程 sudo systemctl restart docker
清理不用的网桥
查看当前网桥 ifconfig
删除当前不用的网桥 sudo ifconfig br-318be2a90259 down
开启服务
启动 docker 后台进程 sudo systemctl start docker
启动服务 docker-compose up -d
查看更新后的网络
查看当前网桥 ifconfig